﻿'Random KO
<Serializable()> Public Class KOZufall
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "ZUFALL"
        Me.Armee = ""
        Musik = ""
        Bild = GetBildID()
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class
<Serializable()> Public Class KOBeschreibungRandom
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Zufall"
        Fein = ""
        Nein = ""
        Beschreibung = New String() {}
        Stil = New String() {"Wählt einen Zufälligen KO", "aus einer Liste aus."}
        Gabebeschreibung = New String() {""}
        SpezialgabeBeschreibung = New String() {""}
        GabeKosten = 2
        Spezialgabekosten = 3
        Gaben = New String() {}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesätze = New String() {}
        Siegsätze = New String() {}
        Tauschsätze = New String() {}
        Doppelgabesätze = New DoppelGabesatz() {}
    End Sub
End Class
'Orange Star
<Serializable()> Public Class KOOffizierOS
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "OFFIZIEROS"
        Me.Armee = Armeen.OS.ToString
        Musik = "Offizier"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        OffensivStärke = Nothing
        DeffensivStärke = Nothing
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        DeffensivStärke = New Feuerkrafttabelle110
        OffensivStärke = New Feuerkrafttabelle110
        If OhneFunktion = False Then
            AnimationEigene("KatGabe", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            DeffensivStärke = New Feuerkrafttabelle110
            OffensivStärke = New Feuerkrafttabelle110
            If OhneFunktion = False Then
                AnimationEigene("KatGabe", 2)
            End If
            GabeEingesetzt()
        Else
            DeffensivStärke = New Feuerkrafttabelle120
            OffensivStärke = New Feuerkrafttabelle120
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
            End If
            GabeEingesetzt()
        End If
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class
<Serializable()> Public Class KOBeschreibungOffizierOS
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Offizier"
        Fein = "Befehle"
        Nein = "Befehlsverweigerung"
        Beschreibung = New String() {"Ein Offizer der seinem Land", "treu ergeben ist."}
        Stil = New String() {"Ein höherer Soldat ohne", "Stärken oder Schwächen."}
        Gabebeschreibung = New String() {"Seine Truppen sind stärker."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen sind noch stärker."}
        GabeKosten = 2
        Spezialgabekosten = 3
        Gaben = New String() {"Offensive", "Taktischer Angriff"}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesätze = New String() {"Stillgestanden!" _
                                , "Achtung." _
                                , "Marschiert! Los!" _
                                , "Links zwei, drei vier..." _
                                , "Dies ist keine Übung." _
                                , "Befehle erhalten."}
        Siegsätze = New String() {"Befehl ausgeführt." _
                                , "Zurück zur Kaserne." _
                                , "Mission erledigt!"}
        Tauschsätze = New String() {"Aus den Betten ihr Faulpelze." _
                                    , "Angetreten zum Morgenapell."}
        Doppelgabesätze = New DoppelGabesatz() {}
    End Sub
End Class
'Blue Moon
<Serializable()> Public Class KOOffizierBM
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "OFFIZIERBM"
        Armee = Armeen.BM.ToString
        Musik = "Offizier"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        OffensivStärke = Nothing
        DeffensivStärke = Nothing
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        DeffensivStärke = New Feuerkrafttabelle120
        If OhneFunktion = False Then
            AnimationEigene("KatGabe", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            DeffensivStärke = New Feuerkrafttabelle120
            If OhneFunktion = False Then
                AnimationEigene("KatGabe", 2)
            End If
            GabeEingesetzt()
        Else
            DeffensivStärke = New Feuerkrafttabelle130
            OffensivStärke = New Feuerkrafttabelle110
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
            End If
            GabeEingesetzt()
        End If
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class
<Serializable()> Public Class KOBeschreibungOffizierBM
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Offizier"
        Fein = "Befehle"
        Nein = "Befehlsverweigerung"
        Beschreibung = New String() {"Ein Offizer der seinem Land", "treu ergeben ist."}
        Stil = New String() {"Ein höherer Soldat ohne", "Stärken oder Schwächen."}
        Gabebeschreibung = New String() {"Seine Truppen sind stärker."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen sind noch stärker."}
        GabeKosten = 2
        Spezialgabekosten = 3
        Gaben = New String() {"Offensive", "Taktischer Angriff"}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesätze = New String() {"Stillgestanden!" _
                                , "Achtung." _
                                , "Marschiert! Los!" _
                                , "Links zwei, drei vier..." _
                                , "Dies ist keine Übung." _
                                , "Befehle erhalten."}
        Siegsätze = New String() {"Befehl ausgeführt." _
                                , "Zurück zur Kaserne." _
                                , "Mission erledigt!"}
        Tauschsätze = New String() {"Aus den Betten ihr Faulpelze." _
                                    , "Angetreten zum Morgenapell."}
        Doppelgabesätze = New DoppelGabesatz() {}
    End Sub
End Class
'Yellow Comet
<Serializable()> Public Class KOOffizierYC
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "OFFIZIERYC"
        Armee = Armeen.YC.ToString
        Musik = "Offizier"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        OffensivStärke = Nothing
        DeffensivStärke = Nothing
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        OffensivStärke = New Feuerkrafttabelle120
        If OhneFunktion = False Then
            AnimationEigene("KatGabe", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            OffensivStärke = New Feuerkrafttabelle120
            If OhneFunktion = False Then
                AnimationEigene("KatGabe", 2)
            End If
            GabeEingesetzt()
        Else
            DeffensivStärke = New Feuerkrafttabelle110
            OffensivStärke = New Feuerkrafttabelle130
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
            End If
            GabeEingesetzt()
        End If
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class
<Serializable()> Public Class KOBeschreibungOffizierYC
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Offizier"
        Fein = "Befehle"
        Nein = "Befehlsverweigerung"
        Beschreibung = New String() {"Ein Offizer der seinem Land", "treu ergeben ist."}
        Stil = New String() {"Ein höherer Soldat ohne", "Stärken oder Schwächen."}
        Gabebeschreibung = New String() {"Seine Truppen sind stärker."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen sind noch stärker."}
        GabeKosten = 2
        Spezialgabekosten = 4
        Gaben = New String() {"Offensive", "Taktischer Angriff"}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesätze = New String() {"Stillgestanden!" _
                                , "Achtung." _
                                , "Marschiert! Los!" _
                                , "Links zwei, drei vier..." _
                                , "Dies ist keine Übung." _
                                , "Befehle erhalten."}
        Siegsätze = New String() {"Befehl ausgeführt." _
                                , "Zurück zur Kaserne." _
                                , "Mission erledigt!"}
        Tauschsätze = New String() {"Aus den Betten ihr Faulpelze." _
                                    , "Angetreten zum Morgenapell."}
        Doppelgabesätze = New DoppelGabesatz() {}
    End Sub
End Class
'Green Earth
<Serializable()> Public Class KOOffizierGE
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "OFFIZIERGE"
        Armee = Armeen.GE.ToString
        Musik = "Offizier"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        OffensivStärke = Nothing
        DeffensivStärke = Nothing
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        OffensivStärke = New Feuerkrafttabelle110
        DeffensivStärke = New Feuerkrafttabelle110
        If OhneFunktion = False Then
            AnimationEigene("KatGabe", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            OffensivStärke = New Feuerkrafttabelle110
            DeffensivStärke = New Feuerkrafttabelle110
            If OhneFunktion = False Then
                AnimationEigene("KatGabe", 2)
            End If
            GabeEingesetzt()
        Else
            DeffensivStärke = New Feuerkrafttabelle110
            OffensivStärke = New Feuerkrafttabelle110
            Bewegungsbonus = New BewegungsboniTabelleAlles_1
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
            End If
            GabeEingesetzt()
        End If
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class
<Serializable()> Public Class KOBeschreibungOffizierGE
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Offizier"
        Fein = "Befehle"
        Nein = "Befehlsverweigerung"
        Beschreibung = New String() {"Ein Offizer der seinem Land", "treu ergeben ist."}
        Stil = New String() {"Ein höherer Soldat ohne", "Stärken oder Schwächen."}
        Gabebeschreibung = New String() {"Seine Truppen sind stärker."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen sind stärker", "und laufen weiter."}
        GabeKosten = 2
        Spezialgabekosten = 3
        Gaben = New String() {"Offensive", "Taktischer Angriff"}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesätze = New String() {"Stillgestanden!" _
                                , "Achtung." _
                                , "Marschiert! Los!" _
                                , "Links zwei, drei vier..." _
                                , "Dies ist keine Übung." _
                                , "Befehle erhalten."}
        Siegsätze = New String() {"Befehl ausgeführt." _
                                , "Zurück zur Kaserne." _
                                , "Mission erledigt!"}
        Tauschsätze = New String() {"Aus den Betten ihr Faulpelze." _
                                    , "Angetreten zum Morgenapell."}
        Doppelgabesätze = New DoppelGabesatz() {}
    End Sub
End Class
'Black Hole
<Serializable()> Public Class KOOffizierBH
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefüllstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefüllstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "OFFIZIERBH"
        Armee = Armeen.BH.ToString
        Musik = "Offizier"
        Bild = GetBildID()
        Select Case My.Settings.CommanderWarsGameMoodus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case CommanderWarsGameModi.CommanderWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
                KORange = 3
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.KOS(Bild).KOBeschreibung.Gaben
        End Select
        KOname = Objektverwalter.KOS(Bild).KOBeschreibung.Name

        KOLaden()
    End Sub

    Public Overrides Sub KOLaden()
        OffensivStärke = Nothing
        DeffensivStärke = Nothing
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafür sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        OffensivStärke = New Feuerkrafttabelle120
        If OhneFunktion = False Then
            AnimationEigene("KatGabe", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If My.Settings.CommanderWarsGameMoodus = CommanderWarsGameModi.AdvanceWars Then
            OffensivStärke = New Feuerkrafttabelle120
            If OhneFunktion = False Then
                AnimationEigene("KatGabe", 2)
            End If
            GabeEingesetzt()
        Else
            OffensivStärke = New Feuerkrafttabelle140
            If OhneFunktion = False Then
                AnimationEigene("SPEZIALGABE", 2)
            End If
            GabeEingesetzt()
        End If
    End Sub
    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class
<Serializable()> Public Class KOBeschreibungOffizierBH
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Offizier"
        Fein = "Befehle"
        Nein = "Befehlsverweigerung"
        Beschreibung = New String() {"Ein Offizer der seinem Land", "treu ergeben ist."}
        Stil = New String() {"Ein höherer Soldat ohne", "Stärken oder Schwächen."}
        Gabebeschreibung = New String() {"Seine Truppen sind stärker."}
        SpezialgabeBeschreibung = New String() {"Seine Truppen sind noch stärker."}
        GabeKosten = 2
        Spezialgabekosten = 3
        Gaben = New String() {"Offensive", "Taktischer Angriff"}
        Synergie = New Decimal() {}
        KONamen = New String() {}
        Doppelgabenamen = New String() {}
        Gabesätze = New String() {"Stillgestanden!" _
                                , "Achtung." _
                                , "Marschiert! Los!" _
                                , "Links zwei, drei vier..." _
                                , "Dies ist keine Übung." _
                                , "Befehle erhalten."}
        Siegsätze = New String() {"Befehl ausgeführt." _
                                , "Zurück zur Kaserne." _
                                , "Mission erledigt!"}
        Tauschsätze = New String() {"Aus den Betten ihr Faulpelze." _
                                    , "Angetreten zum Morgenapell."}
        Doppelgabesätze = New DoppelGabesatz() {}
    End Sub
End Class
'Metall Army

'Amber Coronna

'Brown Desert

'Jade Sun

'Teal Galaxy

'Pink Cosmos

'Dark Matter